DOBON.NETお気楽掲示板
HOME
HELP
新規作成
新着記事
ツリー表示
スレッド表示
トピック表示
検索
[
最新記事及び返信フォームをトピックトップへ
]
[ トピック内全1記事(1-1 表示) ] <<
0
>>
■1625
/ inTopicNo.1)
MT4のインジケータ 反応しない
▼
■
□投稿者/ まさむね
-(2024/11/09(Sat) 17:51:49)
chatGPTに依頼してMT4のインジケータを作成中です。
以下のコードでコンパイルして、インジケータをチャートに挿入しても何の反応もありません。表示中のインジケータにも反映されていないです。
chatに聞いても同じことしか言わず、改善しません・・・
何が問題でしょうか?
#property strict
bool drawingMode = false;
double highPrice = 0.0, lowPrice = 0.0;
datetime highTime, lowTime;
//+------------------------------------------------------------------+
//| OnInit function |
//+------------------------------------------------------------------+
int OnInit()
{
Print("Indicator initialized"); // 初期化メッセージ
// 描画モード切替ボタンの作成
if (!ObjectCreate("DrawModeButton", OBJ_BUTTON, 0, 0, 0))
{
Print("Error creating button");
return INIT_FAILED;
}
ObjectSet("DrawModeButton", OBJPROP_CORNER, CORNER_RIGHT_UPPER);
ObjectSet("DrawModeButton", OBJPROP_XDISTANCE, 10);
ObjectSet("DrawModeButton", OBJPROP_YDISTANCE, 10);
ObjectSetText("DrawModeButton", "Drawing Mode: OFF", 10, "Arial", clrWhite);
Print("Button created successfully");
return INIT_SUCCEEDED;
}
//+------------------------------------------------------------------+
//| OnDeinit function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
Print("Deinitializing indicator...");
ObjectDelete("DrawModeButton");
}
//+------------------------------------------------------------------+
//| OnChartEvent function |
//+------------------------------------------------------------------+
void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam)
{
Print("OnChartEvent triggered with id: ", id);
if (id == CHARTEVENT_OBJECT_CLICK && sparam == "DrawModeButton")
{
// ボタンクリックで描画モードを切り替え
drawingMode = !drawingMode;
ObjectSetText("DrawModeButton", drawingMode ? "Drawing Mode: ON" : "Drawing Mode: OFF", 10, "Arial", clrWhite);
if (drawingMode)
{
highPrice = 0.0; // モードがオンの時に値をリセット
lowPrice = 0.0;
Print("Drawing mode enabled. Click on High and Low points.");
}
else
{
Print("Drawing mode disabled.");
}
}
if (drawingMode && id == CHARTEVENT_CLICK)
{
Print("Chart clicked with drawing mode ON");
// 描画モードがオンのとき、クリックした位置を取得
if (highPrice == 0.0) // 最初のクリックを高値とする
{
highTime = (datetime)lparam;
highPrice = dparam;
Print("High set at ", highPrice);
}
else if (lowPrice == 0.0) // 2回目のクリックを安値とする
{
lowTime = (datetime)lparam;
lowPrice = dparam;
Print("Low set at ", lowPrice);
DrawFibonacci();
drawingMode = false;
ObjectSetText("DrawModeButton", "Drawing Mode: OFF", 10, "Arial", clrWhite);
}
}
}
//+------------------------------------------------------------------+
//| Draw Fibonacci function |
//+------------------------------------------------------------------+
void DrawFibonacci()
{
Print("Drawing Fibonacci from ", highPrice, " to ", lowPrice);
string fiboName = "FiboRetracement";
ObjectDelete(fiboName); // 既存のフィボナッチを削除
ObjectCreate(fiboName, OBJ_FIBO, 0, highTime, highPrice, lowTime, lowPrice);
ObjectSet(fiboName, OBJPROP_COLOR, clrGold);
ObjectSet(fiboName, OBJPROP_WIDTH, 2);
Print("Fibonacci drawn successfully.");
}
引用返信
削除キー/
編集
削除
このトピックをツリーで一括表示
トピック内ページ移動 / <<
0
>>
このトピックに書きこむ
入力内容にタグは利用できません。
引用部分(行頭に「>」や「■」が付いている部分)が全体の 80% 以上のコメントは投稿できません。
管理人はこの掲示板をまともにチェックしていないかもしれませんし、返事も出さないかもしれません。
ちゃんとした(?)投稿はマナーを守って
別の掲示板
へ。
管理人の独断で不適切と判断した投稿は予告なく削除されます。
投稿は、明記のない限り、パブリックドメインになります。
本文と題名には必ずひらがなを入れてください。
半角カナは使用しないでください。文字化けの原因になります。
名前、コメントは必須記入項目です。記入漏れはエラーになります。
入力内容の一部は、次回投稿時の手間を省くためブラウザに記録されます。
削除キーを覚えておくと、自分の記事の編集・削除ができます。
URLは自動的にリンクされます。
記事中に No*** のように書くとその記事にリンクされます(No は半角英字/*** は半角数字)。
使用例)
No123 → 記事No123の記事リンクになります(指定表示)。
No123,130,134 → 記事No123/130/134 の記事リンクになります(複数表示)。
No123-130 → 記事No123〜130 の記事リンクになります(連続表示)。
Name
/
E-Mail
/
Title
/
URL
/
Comment/ 通常モード->
図表モード->
(適当に改行して下さい/半角10000文字以内)
■No1625に返信(まさむねさんの記事) > chatGPTに依頼してMT4のインジケータを作成中です。 > 以下のコードでコンパイルして、インジケータをチャートに挿入しても何の反応もありません。表示中のインジケータにも反映されていないです。 > > chatに聞いても同じことしか言わず、改善しません・・・ > 何が問題でしょうか? > > > > > #property strict > bool drawingMode = false; > double highPrice = 0.0, lowPrice = 0.0; > datetime highTime, lowTime; > > //+------------------------------------------------------------------+ > //| OnInit function | > //+------------------------------------------------------------------+ > int OnInit() > { > Print("Indicator initialized"); // 初期化メッセージ > > // 描画モード切替ボタンの作成 > if (!ObjectCreate("DrawModeButton", OBJ_BUTTON, 0, 0, 0)) > { > Print("Error creating button"); > return INIT_FAILED; > } > ObjectSet("DrawModeButton", OBJPROP_CORNER, CORNER_RIGHT_UPPER); > ObjectSet("DrawModeButton", OBJPROP_XDISTANCE, 10); > ObjectSet("DrawModeButton", OBJPROP_YDISTANCE, 10); > ObjectSetText("DrawModeButton", "Drawing Mode: OFF", 10, "Arial", clrWhite); > > Print("Button created successfully"); > > return INIT_SUCCEEDED; > } > > //+------------------------------------------------------------------+ > //| OnDeinit function | > //+------------------------------------------------------------------+ > void OnDeinit(const int reason) > { > Print("Deinitializing indicator..."); > ObjectDelete("DrawModeButton"); > } > > //+------------------------------------------------------------------+ > //| OnChartEvent function | > //+------------------------------------------------------------------+ > void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam) > { > Print("OnChartEvent triggered with id: ", id); > > if (id == CHARTEVENT_OBJECT_CLICK && sparam == "DrawModeButton") > { > // ボタンクリックで描画モードを切り替え > drawingMode = !drawingMode; > ObjectSetText("DrawModeButton", drawingMode ? "Drawing Mode: ON" : "Drawing Mode: OFF", 10, "Arial", clrWhite); > > if (drawingMode) > { > highPrice = 0.0; // モードがオンの時に値をリセット > lowPrice = 0.0; > Print("Drawing mode enabled. Click on High and Low points."); > } > else > { > Print("Drawing mode disabled."); > } > } > > if (drawingMode && id == CHARTEVENT_CLICK) > { > Print("Chart clicked with drawing mode ON"); > > // 描画モードがオンのとき、クリックした位置を取得 > if (highPrice == 0.0) // 最初のクリックを高値とする > { > highTime = (datetime)lparam; > highPrice = dparam; > Print("High set at ", highPrice); > } > else if (lowPrice == 0.0) // 2回目のクリックを安値とする > { > lowTime = (datetime)lparam; > lowPrice = dparam; > Print("Low set at ", lowPrice); > DrawFibonacci(); > drawingMode = false; > ObjectSetText("DrawModeButton", "Drawing Mode: OFF", 10, "Arial", clrWhite); > } > } > } > > //+------------------------------------------------------------------+ > //| Draw Fibonacci function | > //+------------------------------------------------------------------+ > void DrawFibonacci() > { > Print("Drawing Fibonacci from ", highPrice, " to ", lowPrice); > string fiboName = "FiboRetracement"; > ObjectDelete(fiboName); // 既存のフィボナッチを削除 > ObjectCreate(fiboName, OBJ_FIBO, 0, highTime, highPrice, lowTime, lowPrice); > ObjectSet(fiboName, OBJPROP_COLOR, clrGold); > ObjectSet(fiboName, OBJPROP_WIDTH, 2); > Print("Fibonacci drawn successfully."); > } >
Icon
/
ホイールロボ
くるりロボ
ぱんだ
ふとめネコ
ねずみ
こあら
疑問ねこ
ランダム
管理者用
(画像を選択/
サンプル一覧
)
削除キー
/
(半角8文字以内)
解決
済
み!
BOX/
解決したらチェックしてください!(スレッドを閉じる目的ではチェックしないでください!)
プレビュー/
クッキーに保存しない/
Pass/
HOME
HELP
新規作成
新着記事
ツリー表示
スレッド表示
トピック表示
検索
-
Child Tree
-