エラー、バグ、質問 - ページ 771

 
maryan.dirtyn:

そういうことです))...。6時間目...どこが エラーなのかがわからない

標準ライブラリを 使いたくないのは、フラグやグローバル変数が関数内で使われているためで、trade.mqhなどを分解するのは合理的とは思えません。

また、どのようなエラーが返されるのでしょうか?)))
 
maryan.dirtyn:

MetaQuotes-デモ

ログイン:1219233

EURUSD

ポンドで試したところ、同じように停止しませんでした。

ビルド655(参考になれば)

構造体の明示的な初期化を書け。

   MqlTradeRequest request={0};
   MqlTradeResult  result={0};

これがないと、ストラクチャーのフィールドにゴミが残ってしまい、すべてのフィールドを埋められないことになります。

 

ありがとうございます...

というのが、私の手放し方です。

void OnTick(){ if(PositionsTotal()<1)OPEN(); }

bool OPEN(){
             MqlTradeRequest request={0};  ZeroMemory(request);
             MqlTradeResult  result={0};   ZeroMemory(result);
             

             request.symbol       = _Symbol;
             request.action       = TRADE_ACTION_DEAL;
             request.type_filling = ORDER_FILLING_FOK;
             request.deviation    = 100;
             request.volume       = NormalizeDouble(2,2);
             request.type         = ORDER_TYPE_BUY;
             request.price        = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK),_Digits);
             request.tp           = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK) + 500*_Point,_Digits);
             request.sl           = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK) - 500*_Point,_Digits);

             OrderSend(request,result);     
                        
             if(result.retcode==10009 || result.retcode==10008)  Print("Succsesful open");
             else                                               Print("Error open: ",DoubleToString(GetLastError(),0),"  response code: ",result.retcode);
    
   return(true);}
 
ZeroMemory()は、より経済的でシンプルな={0}に対するゼロ化処理が前に立っているため、すでに不要なものです。
 

このデザインは正しく動作しません。

if(PositionGetDouble(POSITION_PRICE_OPEN)!=PositionGetDouble(POSITION_SL)){ ... }
 

OnTradeにパラメータが追加されるのはいつですか?こんなに散らかしてしまっては...。

せめて、どんなパラメータがあるのかだけでも知っておきたい。そうしないと、チャンピオンシップまでに何度もやり直さなければならなくなりますから。

 
pronych:

OnTradeにパラメータが追加されるのはいつですか?こんなに散らかしてしまっては...。

せめて、どんなパラメータがあるのかだけでも知っておきたい。そうしないとチャンピオンシップまでにたくさんやり直さないといけなくなりますから((

明日の今日の ビルドに登場する予定です。エントリーポイントをもう一つ追加しました。

void OnTradeTransaction(const MqlTradeTransaction& trans,const MqlTradeRequest& request,const MqlTradeResult& result)
  {
      
  }
 

商品、価格、ロット、取引の種類など、あるべき姿が明確になっています。

しかし、取引価格を調べる方法がよくわからない。

しばらく留守にしていたので、見落としがあるかもしれませんが...。

 
Renat:

本日のビルドで既に登場予定です。もう一つのエントリーポイントが追加されました。

ありがとうございました。最後に)))

本当に楽しみです。

削除済み  

開発者の皆様へ端末にはAskの履歴がないので、Bid価格に逆指値注文(Buy stop, Sell stop)を縛るのは意味があるのでしょうか?または、どの価格で注文をトリガーするか(BidまたはAsk)をユーザーが選択できるようにする。FXのことです。